--- a/src/window.c	2022-07-03 19:33:57.181805213 +0300
+++ b/src/window.c	2022-07-03 19:32:30.683186090 +0300
@@ -2597,6 +2597,7 @@
 
 gboolean xa_treeview_mouse_button_press (GtkWidget *widget, GdkEventButton *event, XArchive *archive)
 {
+	static guint32 last_button1;
 	XEntry *entry;
 	GtkTreePath *path;
 	GtkTreeIter iter;
@@ -2620,14 +2621,17 @@
 
 		if (event->button == 1)
 		{
-			GdkModifierType state;
-
-			gdk_event_get_state((GdkEvent *) event, &state);
-
-			if (gtk_tree_selection_iter_is_selected(selection, &iter) && ((state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) == 0))
-				return TRUE;
+			if (event->time - last_button1 > 250)
+			{
+				last_button1 = event->time;
+
+				if (gtk_tree_selection_iter_is_selected(selection, &iter) && ((event->state & (GDK_SHIFT_MASK | GDK_CONTROL_MASK)) == 0))
+					return TRUE;
+				else
+					return FALSE;
+			}
 			else
-				return FALSE;
+				event->button = 2;
 		}
 
 		if (!gtk_tree_selection_iter_is_selected(selection, &iter))
